package userlogin.Controller;


import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import userlogin.Entity.Dto.Code;
import userlogin.Entity.UserId;
import userlogin.Service.UserIdService;

import java.util.List;

/**
 * <p>
 * 前端控制器
 * </p>
 *
 * @author 小陈同学
 * @since 2023-06-25
 */
@CrossOrigin
@Slf4j
@RestController
@RequestMapping("/user-id")
public class UserIdController {

    @Autowired
    private UserIdService userIdService;

    /**
     * 小程序端登陆
     * 用户静态登录
     * 1. 从小程序端获取code
     * 2. 从小程序端获取用户的openid
     * 3. 创建构造函数user从数据库中查找是否有这个openid
     * (1)有这个openid，则更新时间，静态登录
     * (2)没有这个openid，则插入新数据，实现静态登录
     */
    @PostMapping("/GetUserInfo")
    public String getUserInfo(@RequestBody Code c) {
        return userIdService.login(c);
    }

    /**
     * 用作User-Info的接口调用
     * 用作返回用户信息
     */
    @GetMapping("/{openid}")
    public UserId getUserInfo(@PathVariable(value = "openid") String openid,
                              @RequestHeader(value = "Truth", required = false) String truth) {
        System.out.println("truth: " + truth);
        //根据用户id查询信息并返回
        return userIdService.getUserInfo(openid);
    }

}
